Mary Lee Woods | |
---|---|
Born | 12 March 1924 Birmingham, England |
Nationality | British |
Alma mater | University of Birmingham |
Employer | Telecommunications Research Establishment, Mount Stromlo Observatory, Ferranti |
Spouse | Conway Berners-Lee |
Children | Timothy Peter Helen Michael |
Parents | Bertie John Woods and Ida Frances Lee Burrows |
Mary Lee Woods, now Mrs C M Berners-Lee (born 12 March 1924) is a British mathematician and computer programmer who worked in a team that developed programs for the Manchester University Mark 1, Ferranti Mark 1 and Mark 1 Star computers. She is married to Conway Berners-Lee, also in the team. Their eldest son, Sir Tim Berners-Lee, invented the World Wide Web.[1][2]
From 1942-1944, she took a wartime compressed two-year degree course in mathematics at the University of Birmingham. She then worked for the Telecommunications Research Establishment at Malvern until 1946 when she returned to take the third year of her degree. She worked at the Mount Stromlo Observatory in Canberra, Australia from 1947 to 1951 when she joined Ferranti in Manchester as a computer programmer.
The programming group was led by John Bennett. Members of this team found it useful to commit to memory the following sequence of characters which represented the numbers 0 to 31 in the International Telegraph Alphabet No. 1 (Baudot) 5-bit binary code of the paper tape that was used for input and output.
Mrs Berners-Lee worked on both the Ferranti Mark 1 and the Ferranti Mark 1* computers. Programming in those days was very different to the situation today.[3] Programs were written in machine code, using the basic binary digits (bits) with which all machines operate. Every bit had to be right; there was plenty of room for error, but there was opportunity to be cunning too. She found it to be great fun. The machines used serial 40-bit arithmetic (with a double length accumulator).[4] This meant that here were considerable difficulties in scaling the variables in the program to maintain adequate arithmetic precision.[5]
Another of the difficulties of programming related to the two-level store of the machines. There were eight pages of Williams cathode ray tube (CRT) random-access memory as fast primary store, and 512 pages of secondary store on a magnetic drum. Each page consisted of 32 40-bit words which appeared as 64 20-bit lines on the CRTs. The programmer had to control all transfers between electronic and magnetic storage, and the transfers were slow and had to be reduced to a minimum. For programs dealing with large chunks of data, such as matrices, partitioning into page-sized chunks could be troublesome.
The Mark 1 machine worked in integer arithmetic and, because of their background in radar, the engineers had built the machine to display the lines on the CRTs with the most significant bit on the right. This could be argued as logically sensible, but was changed for the more conventional system for the Mark 1*, which also worked in fractions, not integers.[5] Also, the Baudot teleprinter code was abandoned for one that was in the following order.[6]
Program errors were difficult to find and programmers were tempted to sit at the machine control desk watching the machine perform one instruction at a time to watch where it did the unintended thing. But machine time became more and more valuable. John Bennett suggested to Mrs Berners-Lee that she write a diagnostic program to print out the contents of the accumulator and particular store lines at specific points in the program so that diagnosis could take place away from the machine. The challenge of her routine 'Stopandprint' was that it had to monitor the program under diagnosis without interfering with it, and there was very little space in the fast store.[7] With J M Bennett and D. G. Prinz, she was involved in writing interpretive subroutines that were used by the Ferranti group.[5][8]
Program errors were one problem; machine errors were another. The computer frequently misread the binary digits. The engineers thought the mathematicians could compensate for this by programming arithmetic checks and the mathematicians would too readily assume that a wrong functioning was due to the machine when in fact it was due to a program error. There was inevitable friction between the mathematicians and the engineers. At the centre of this was a program that Mary Lee had written for inverting a matrix to solve 40 simultaneous equations—a large number for those days. The long rows of data took too long for the machine to process without an error. On one occasion she took a dispute to Tom Kilburn, who was second only to Professor Freddy Williams on the engineering side. Tom Kilburn was polite but did not argue and she felt he was ignoring her complaint, but 50 years later when she asked him about this, he said that he had not argued "because I knew you were right".
All this was in the early 1950s when the programmers were about equal numbers of men and women. The women had to fight for equal pay. They also had to fight for the right to work on the computer at night, machine time being so precious that it was often the only time available.
After a period devoted to bringing up her children, she became a schoolteacher of mathematics and then a programmer using Basic, Fortran and other languages before retiring in 1987.